This invention relates to architecture for a data link control protocol suitable for a duplex digital data transmission system employing error recovery based on a GO-BACK-N algorithm for retransmission of data frames of a window subsequent to the detection of an error and, more particularly, to the construction of such an architecture with a digital word format permitting parallel processing of individual bits of a word to allow for error detection and recovery at rates commensurate with the high data-transmission rates of pulsed optical communication links.
Digital communication systems are widely used for communicating digitized data among people who use the data. For example, such data may include pictorial information sent by facsimile, textual data for publishing purposes, and numeric data as may be employed by computer companies, the latter two forms of data being transmitted frequently by the use of modems connected to a telephone line or high-speed data line. Large amounts of data to be transmitted over a single communication link are generally multiplexed and modulated onto an electromagnetic carrier for transmission over a coaxial cable, or pulse modulated onto a light beam for transmission by fiber optics.
Of particular concern herein is the situation wherein large amounts of data are to be transmitted at high speed over a communication link, particularly a two-way, or duplex, optical fiber communication link. The data is transmitted, typically, in the form of batches or packets along with some form of coding, such as a cyclic redundancy check (CRC), which allows for a receiver to verify that the received packet of data may be regarded as being free of error. In the event that an error has been detected, then the packet is rejected, and the receiving terminal requests the transmitting terminal of the communication link to retransmit the rejected packet. The capacity for transmitting the request for retransmission is provided by the duplex link wherein transmission is possible in both directions.
In the use of such communication systems, considerable electric circuitry and complexity of equipment is entailed for identifying and maintaining synchronization between packets which have been transmitted, packets which have been received, and packets which are yet to be transmitted. Such identification and synchronization is particularly important for the case wherein a request is made for retransmission of certain packets to insure that there is no confusion as to which packet is to be retransmitted, and whether or not a specific packet has been received.
An example of a communication system for communicating digitized data among a group of computers is disclosed in an article entitled "VAXclusters: A Closely-Coupled Distributed System" by N. P. Kronenberg, H. M. Levy, and W. D. Strecker in ACM Transactions on Computer systems, Vol. 4, No. 2. This article discloses a star-shaped array of data buses with arbitration and acknowledgement of buses for connecting between two terminals . U.S. Pat. No. 4,527,267 of Cohen, issued July 2, 1985, discloses a communication system with administration of acknowledgement packets, and employs an internal protocol of a transport switching network with windows of authorized data packets to be transmitted. U.S. Pat. No. 4,677,614 of Circo, issued June 30, 1987, discloses a multi-node loop form of communication system wherein any one of the nodes can assume the role of a master node to provide a time base for the loop.
A problem arises in that the microprocessor circuitry which has been available, heretofore, for selecting the packets to be transmitted, for identifying packets, and for maintaining synchronization among the transmitted and received packets has restricted the maximum speed of data transmission along the link. The restriction arises by virtue of the fact that the microprocessor circuitry is itself limited by the speed at which it can function. As higher communication speeds have become available, particularly with optical fiber links, full advantage of the higher speed capabilities of the links has not been realizable because of the restriction on the speed of response of the microprocessor circuitry which controls the operation of the communication link.